grammar Calc;

@parser::members {
    private boolean enableMultiplication = true;

    public void setEnableMultiplication(boolean enable) {
        this.enableMultiplication = enable;
    }
}

// 词法规则
INT: [0-9]+;       // 匹配整数
ADD: '+';          // 加法运算符
MUL: '*';          // 乘法运算符
WS: [ \t\r\n]+ -> skip; // 忽略空白字符

// 语法规则
prog: expr+ ;      // 程序由多个表达式组成
expr: expr (ADD | MUL) expr  # BinaryOp // 表达式可以是加法或乘法
     | INT                    # Number   // 或直接是一个整数
     ;